/**
 */
package gatperdut.chato.model.Chato.Player;

import gatperdut.chato.model.Chato.Entity.PC;
import org.eclipse.emf.cdo.CDOObject;

/**
 * <!-- begin-user-doc -->
 * A representation of the model object '<em><b>Player</b></em>'.
 * <!-- end-user-doc -->
 *
 * <p>
 * The following features are supported:
 * <ul>
 *   <li>{@link gatperdut.chato.model.Chato.Player.Player#getUsername <em>Username</em>}</li>
 *   <li>{@link gatperdut.chato.model.Chato.Player.Player#getPassword <em>Password</em>}</li>
 *   <li>{@link gatperdut.chato.model.Chato.Player.Player#isAdmin <em>Admin</em>}</li>
 *   <li>{@link gatperdut.chato.model.Chato.Player.Player#getCurrentPC <em>Current PC</em>}</li>
 * </ul>
 * </p>
 *
 * @see gatperdut.chato.model.Chato.Player.PlayerPackage#getPlayer()
 * @model
 * @extends CDOObject
 * @generated
 */
public interface Player extends CDOObject {
	/**
     * Returns the value of the '<em><b>Username</b></em>' attribute.
     * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Username</em>' attribute isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
     * @return the value of the '<em>Username</em>' attribute.
     * @see #setUsername(String)
     * @see gatperdut.chato.model.Chato.Player.PlayerPackage#getPlayer_Username()
     * @model required="true"
     * @generated
     */
	String getUsername();

	/**
     * Sets the value of the '{@link gatperdut.chato.model.Chato.Player.Player#getUsername <em>Username</em>}' attribute.
     * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
     * @param value the new value of the '<em>Username</em>' attribute.
     * @see #getUsername()
     * @generated
     */
	void setUsername(String value);

	/**
     * Returns the value of the '<em><b>Password</b></em>' attribute.
     * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Password</em>' attribute isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
     * @return the value of the '<em>Password</em>' attribute.
     * @see #setPassword(String)
     * @see gatperdut.chato.model.Chato.Player.PlayerPackage#getPlayer_Password()
     * @model required="true"
     * @generated
     */
	String getPassword();

	/**
     * Sets the value of the '{@link gatperdut.chato.model.Chato.Player.Player#getPassword <em>Password</em>}' attribute.
     * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
     * @param value the new value of the '<em>Password</em>' attribute.
     * @see #getPassword()
     * @generated
     */
	void setPassword(String value);

	/**
     * Returns the value of the '<em><b>Admin</b></em>' attribute.
     * The default value is <code>"false"</code>.
     * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Admin</em>' attribute isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
     * @return the value of the '<em>Admin</em>' attribute.
     * @see #setAdmin(boolean)
     * @see gatperdut.chato.model.Chato.Player.PlayerPackage#getPlayer_Admin()
     * @model default="false" required="true"
     * @generated
     */
	boolean isAdmin();

	/**
     * Sets the value of the '{@link gatperdut.chato.model.Chato.Player.Player#isAdmin <em>Admin</em>}' attribute.
     * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
     * @param value the new value of the '<em>Admin</em>' attribute.
     * @see #isAdmin()
     * @generated
     */
	void setAdmin(boolean value);

	/**
     * Returns the value of the '<em><b>Current PC</b></em>' containment reference.
     * It is bidirectional and its opposite is '{@link gatperdut.chato.model.Chato.Entity.PC#getOwner <em>Owner</em>}'.
     * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Current PC</em>' containment reference isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
     * @return the value of the '<em>Current PC</em>' containment reference.
     * @see #setCurrentPC(PC)
     * @see gatperdut.chato.model.Chato.Player.PlayerPackage#getPlayer_CurrentPC()
     * @see gatperdut.chato.model.Chato.Entity.PC#getOwner
     * @model opposite="owner" containment="true"
     * @generated
     */
	PC getCurrentPC();

	/**
     * Sets the value of the '{@link gatperdut.chato.model.Chato.Player.Player#getCurrentPC <em>Current PC</em>}' containment reference.
     * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
     * @param value the new value of the '<em>Current PC</em>' containment reference.
     * @see #getCurrentPC()
     * @generated
     */
	void setCurrentPC(PC value);

} // Player
